package org.x.user.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 用户令牌信息实体类
 *
 * @author 夏包包
 * @date 2025-03-08 13:39:03
 */
@Data
@TableName("sys_tokens")
public class SysTokens {

    /**
     * 令牌ID:令牌ID
     */
    @TableId(type = IdType.ASSIGN_UUID)
    @Schema(description = "令牌ID:令牌ID")
    private String id;

    /**
     * 用户ID:用户ID
     */
    @Schema(description = "用户ID:用户ID")
    private String userId;

    /**
     * 访问令牌:访问令牌
     */
    @Schema(description = "访问令牌:访问令牌")
    private String token;

    /**
     * 过期时间:过期时间
     */
    @Schema(description = "过期时间:过期时间")
    private Date expireTime;

    /**
     * 创建人:创建人
     */
    @Schema(description = "创建人:创建人")
    private String createBy;

    /**
     * 创建时间:创建时间
     */
    @Schema(description = "创建时间:创建时间")
    private Date createTime;

    /**
     * 修改人:修改人
     */
    @Schema(description = "修改人:修改人")
    private String updateBy;

    /**
     * 修改时间:修改时间
     */
    @Schema(description = "修改时间:修改时间")
    private Date updateTime;

    /**
     * 设备标识:设备标识
     */
    @Schema(description = "设备标识:设备标识")
    private String deviceId;

    /**
     * 是否撤销:是否撤销
     */
    @Schema(description = "是否撤销:是否撤销")
    private Integer revoked;

    /**
     * 最后使用时间:最后使用时间
     */
    @Schema(description = "最后使用时间:最后使用时间")
    private Date lastUsedAt;
}
